namespace RoguelikeLib.Maps
{
    internal interface ICarving
    {
        # region Properties

        int Left { get; set; }
        int Top { get; set; }
        int Right { get; set; }
        int Bottom { get; set; }

        int SourceX { get; set; }
        int SourceY { get; set; }
        int DestX { get; set; }
        int DestY { get; set; }

        # endregion

        # region Methods
        /// <summary>
        /// Adds the given room onto the map
        /// </summary>
        bool AddToMap();

        void AddRandomCarvings(int minCarvings);

        # endregion
    }
}